برچسب های شرطی وردپرس را کشف کنید
برچسب های شرطی وردپرس را کشف کنید
همه ما در توسعه های خود تحت وردپرس از عبارات شرطی استفاده می کنیم، درست است؟ اما آیا همه برچسبهای شرطی وردپرس داخلی را میشناسید؟ آنها به سادگی عالی هستند زیرا به لطف این برچسب ها ایجاد عبارات شرطی بسیار آسان است. به عنوان مثال، میتوانید محتوا را فقط برای برخی از کاربران نمایش دهید، یا اسکریپتها را فقط در صورتی بارگیری کنید که صفحهای از یک الگوی سفارشی خاص استفاده میکند، یا حتی اگر این پست چسبناک است، به یک پست سبک دهید.
برچسبهای شرطی را میتوان در طرحهای زمینه یا افزونههای شما استفاده کرد، مهم نیست، اما توجه داشته باشید که در برخی از افزونهها استفاده از برخی برچسبها (در واقع همه برچسبهای خاص تم) گاهی اوقات کمی مشکل خواهد بود.
برچسبهای شرطی موجود
در اینجا لیستی از توابع شرطی موجود است:
شما احتمالاً برخی از آنها را می شناسید، اما آیا واقعاً تفاوت بین is_single_() و is_singular() را می دانید؟ یا بین id_day() و is_date()؟ آیا می دانستید () is_preview؟ برای درک نحوه عملکرد هر تابع، کافی است روی نام برچسب کلیک کنید و دستورالعملهای موجود در کدکس را با دقت بخوانید.
همه تگ های شرطی TRUE یا FALSE برمی گردند
برچسبهای شرطی یکی از ویژگیهای داخلی مورد علاقه من در وردپرس هستند و من واقعاً شما را تشویق میکنم که از آنها به طور گسترده در کدهای خود استفاده کنید. همه توابع همیشه TRUE یا FALSE را برمیگردانند، هرگز ID یا array().
رابطه نزدیک با سلسله مراتب الگوها
همانطور که ممکن است بدانید، وردپرس از یک قالب بسیار قدرتمند سلسله مراتب سیستم استفاده می کند. خوب، استفاده از تگ های شرطی ارتباط نزدیکی با این سلسله مراتب دارد. این اصلی است که برای انتخاب صفحه الگو برای استفاده بسته به URL مورد بازدید شما استفاده می شود.
برچسب های شرطی آرگومان های زیادی را می پذیرند
هنگام استفاده از این تگهای شرطی، باید بدانید که میتوانید متغیرهای مختلفی مانند ID، اسلاگ یا آرایهها را به آنها منتقل کنید. در اینجا یک مثال از کدکس با تابع is_author() است:
- is_author()
- هنگامی که هر صفحه نویسنده در حال نمایش است.
- is_author( '4')
- هنگامی که صفحه آرشیو شماره نویسنده (ID) 4 در حال نمایش است.
- is_author( 'Vivian' )
- هنگامی که صفحه آرشیو نویسنده با نام مستعار “ویویان” نمایش داده می شود.
- is_author( 'john-jones')<
- هنگامی که صفحه آرشیو نویسنده با نام زیبا “جان جونز” نمایش داده می شود.
- is_author( array( 4, 'john-jones', 'Vivian ' ) )
- وقتی صفحه بایگانی نویسنده، شناسه کاربری 4، یا user_nicename «john-jones»، یا نام مستعار «ویویان» باشد.
نمونهها
تقریباً همه توابع شرطی به این صورت کار می کنند، اما مطمئناً می توانید بسیاری از شرایط را ترکیب کنید:
if ( is_home() && in_category( array( 9, 'blue-cheese', 'Stinky Cheeses' ) ) ) {
محتوای()؛
}
دیگری {
the_excerpt();
}
یا اگر موقعیتی یا موقعیتی دیگر رخ داد میتوانید اقدامی انجام دهید:
if ( is_home() || in_category( array( 9, 'blue-cheese', 'Stinky Cheeses' ) )) {
محتوای()؛
}
دیگری {
the_excerpt();
}
و اگر می خواهید یک شرط منفی انجام دهید، از ” استفاده کنید! “:
$paged = $wp_query->get( 'page' );
اگر ( ! $paged || $paged < 2 )
{
// این یک صفحه صفحه بندی شده نیست (یا به سادگی اولین صفحه از یک صفحه/پست صفحه بندی شده است)
}
دیگر
{
// این صفحه صفحه بندی شده است.
}
و در نهایت، استفاده از تگهای شرطی مانند هر عبارت دیگر PHP است:
if ( is_page( 'about' ) || '2' == $post->post_parent ) {
// صفحه "درباره" است، یا والد صفحه "درباره" است
$bannerimg = 'about.jpg';
} elseif ( is_page( 'آموزش' ) || '56' == $post->post_parent ) {
$bannerimg = 'teaching.jpg';
} elseif ( is_page( 'admissions' ) || '15' == $post->post_parent ) {
$bannerimg = 'admissions.jpg';
}دیگر {
$bannerimg = 'home.jpg'; // فقط در صورتی که در یک صفحه طبقه بندی نشده، شاید صفحه اصلی باشیم
}
ایجاد برچسب های شرطی سفارشی
در برخی موارد باید توابع شرطی سفارشی خود را ایجاد کنید. انجام این کار بسیار آسان است، اما اغلب نام توابع از منطقی که توسعه دهندگان اصلی استفاده می کنند پیروی نمی کنند. لطفاً از همان قرارداد نامگذاری با استفاده از پیشوندهایی مانند «is_»، «has_»، «in_» استفاده کنید. این بسیار مفید است به خصوص اگر شما تنها فردی نیستید که روی یک اسکریپت خاص کار می کنید.